package com.dsl.dslsuzhou.config;

import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 缓存配置
 * 为摄像头统计功能提供缓存支持
 */
@Configuration
@EnableCaching
public class CacheConfig {
    
    /**
     * 缓存管理器
     * 使用内存缓存（生产环境建议使用Redis）
     */
    @Bean
    public CacheManager cacheManager() {
        ConcurrentMapCacheManager cacheManager = new ConcurrentMapCacheManager();
        
        // 预定义缓存名称
        cacheManager.setCacheNames(java.util.Arrays.asList(
            "device-ids",      // 设备ID缓存
            "camera-count"     // 摄像头统计缓存
        ));
        
        // 允许空值缓存
        cacheManager.setAllowNullValues(false);
        
        return cacheManager;
    }
}
